When a device such as a system-on-chip device is manufactured, it may be personalised with secret data, for example encryption keys, passwords and/or other confidential data. Typically, the manufacturer of the device embeds the secret data at the time of wafer creation, or just before packaging the device. The secret data therefore must be available to the manufacturer, and this can cause security concerns in that the data may become divested to parties who should not have access to the data through security breaches or unscrupulous activity. One way of mitigating this risk is to provide the manufacturer with a ‘black box’ that is able to decrypt secret data that has been pre-encrypted by a secret data provider and communicate with the manufacturer's programming system in order that the secret data be released at the appropriate time for embedding onto the device.
Such a ‘black box’ is a costly system to maintain and operate. One way of proceeding without the use of the ‘black box’ is to decrypt the encrypted secret data directly on the device in question at the time of final packaging. This can be achieved by way of a specific module implemented on the device which may be a secure element. The secure element has knowledge of custom algorithms and one or more specific encryption/decryption keys known only to the secret data provider to decrypt the secret data. Further, only a generic algorithms and key(s) set could be used as it would too costly and impractical to deliver a separate set for each device to be programmed. The secure element may be delivered to the manufacturer by the secret data provider in the form of a netlist. The netlist is incorporated into the device design.
Such a secret data delivery and device programming scheme relies on the netlist remaining confidential. If the netlist were to become available to an unauthorised party, the algorithm and secret encryption/decryption keys would be usable to decrypt the secret data. The netlist is hence a single point of failure, and therefore a security risk.
It is therefore desirable to provide alternative programming of secret data having greater security.